Autonomous sense and guide machine learning system

ABSTRACT

A system for generating a machine learning system to generate guidance information based on locations of objects is provided. The system accesses training data that includes training time-of-arrival (“TOA”) information of looks and guidance information for each look. The guidance information is based on a training collection of object locations. The TOA of a look represents, for each object location of a training collection of object locations, times between signals transmitted by transmitters and return signals received by receivers. The return signals represent signals reflected from an object at the object location. The system trains a machine learning system using the training data wherein the machine learning system inputs TOA information and outputs guidance information.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This patent document is a divisional application of and claims priorityto U.S. patent application Ser. No. 16/697,652, filed Nov. 27, 2019,which is incorporated herein by reference in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH

The United States Government has rights in this invention pursuant toContract No. DE-AC52-07NA27344 between the U.S. Department of Energy andLawrence Livermore National Security, LLC, for the operation of LawrenceLivermore National Laboratory.

BACKGROUND

Unmanned aerial vehicles (“UAVs”), also referred to as unmanned aircraftsystems (“UAS”) or drones, are employed for a wide variety ofapplications such as military, scientific, commercial, humanitarian, andrecreational applications. UAVs can be controlled in various ways thatrange from autonomous control by a navigation system to remote controlby an operator. The navigation (or guidance) systems that provideautonomous control may be on board the UAVs or at ground stations thatreceive data from the UAVs and transmit instructions to the UAVs. Anavigation system may simply navigate the UAV to a destination locationalong a specified route (e.g., a straight line) defined by GlobalPositioning System (“GPS”) coordinates. More sophisticated navigationsystems may interface with an onboard imaging system that collectsimages of the environment near the UAV. The navigation system mayprocess the images to identify obstacles in the way of the UAV (e.g.,buildings, mountains, and trees) and direct the UAV on a route to avoidthe obstacles. When a UAV is under remote control of an operator, theUAV may have an onboard camera system that streams images of theenvironment to the operator. If the UAV does not have an onboard camerasystem, the operator needs to have a line of sight to the UAV. Theoperator may use various cockpit-type controls to guide the UAV.

Navigation systems that process images to identify obstacles can be veryexpensive and can add significant weight to a UAV. These navigationsystems include camera systems, image processing systems, obstacledetection systems, route planning systems, and so on. A significantportion of the expense is driven by the computational and storageresources that are needed to process the images. Each image may requiretens of megabytes for storage. To process the images in real time, thenavigation systems may require high-end processing systems andcustom-designed processors. The expense and weight of such navigationsystems make them impractical for use by UAVs except in high-endmilitary applications. As a result, UAVs for commercial and recreationaluse are remotely controlled based on having a line of sight to the UAVs.

Some UAV systems employ an on-board sensor array rather than an imagingdevice to identify object locations of objects (e.g., to be avoided bythe UAV or are destinations of the UAV) in a field-of-view of the sensorarray. The sensor array includes transmitters that transmit signals atintervals and receivers that collects return signals, which aretransmitted signals reflected by objects. The sensor array may operatein monostatic mode or multistatic mode. In monostatic mode, the signaltransmitted by a transmitter is received only by the receiver of thatsame transceiver. In multistatic mode, each transmitter transmits insequence, but the return signal is collected by multiple receivers,generally all the receivers. When in multistatic mode, if the sensorarray has M transmitters and N receivers the sensor array collects M x Nreturn signals. Each return signal received by a receiver represents thereflection from each object in the field-of-view of the sensor array.For example, if there are three objects, the return signal received by areceiver will include three return pulses corresponding to thereflection of objects. The return pulses from objects that are closer tothe sensor array will be received before those that are farther. Thetime-of-arrival of each return pulse represent the time between thetransmitting of a signal and receiving of a return pulse. The set of M xN time-of-arrivals from each transmitter and receiver pair for eachobject is referred to as a “look.”

Once a look is collected at an interval, a UAV system typically performsa computation to determine the object location of each object given alook. A guidance system can then input the object locations and generatea guidance instruction for the UAV. Unfortunately, it can becomputationally very expensive to determine the object locations. Thecomputational expense is due in part to the difficulty in determiningwhich return pulses correspond to which objects. Algorithms to determineobject locations may employ triangulation and solve complex minimizationproblems to accurately determine the object locations. Unfortunately,UAVs typically do not have the computational power to perform thatcomputation at an interval rate that allows effective guidance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates verse architectures of SGMLsystem in some embodiments.

FIG. 2 is a flow diagram that illustrates the processing of a trainTOA/location ML component of the SGML system in some embodiments.

FIG. 3 is a block diagram that illustrates the components of thereinforcement learning component of the SGML system in some embodiments.

FIG. 4 is a flow diagram that illustrates the processing of a retrieveTOAs component of the environment system in some embodiments.

FIG. 5 is a flow diagram that illustrates the processing of a calculaterewards component of the environment system in some embodiments.

FIG. 6 illustrates the processing of a train ML component of the agentsystem in some embodiments.

DETAILED DESCRIPTION

Methods and systems for employing a machine learning system to assistingin guiding movement of a platform based on time-of-arrivals (“TOAs”) areprovided. In some embodiments, a sense and guide machine learning(“SGML”) system trains a machine learning system to provide guidanceinformation based on TOA information. The guidance information may beobject locations or guidance instructions, and the TOA information maybe TOAs or object locations. The trained machine learning system may bedeployed on a platform (e.g., UAV) with a sensor array of transmittersand receivers to determine object locations for use in guiding theplatform. To train the machine learning system, the SGML systemgenerates training data that includes TOA information labeled withguidance information. For example, the TOA information may be a look,and the labels may be a collection of object locations corresponding tothe look. After the training data is generated, the SGML system performsthe training of the machine learning system using the training data. Thetrained machine learning system can then be deployed (e.g., on aplatform or remotely from a platform) to input TOAs and output guidanceinformation. The guidance information can then be employed by a guidancesystem to guide the platform to avoid objects and/or to travel to anobject. Although it may be computationally very expensive to generatethe training data and train the machine learning system, the generatingand training are performed off-line prior deployment for a platform.After training, the computations needed to determine guidanceinformation are a very small fraction of that needed for the trainingand can be performed in real-time by an on-board computing system.Moreover, the on-board computing system can be relatively lightweight sothat it can be installed on platforms where weight is a concern. TheSGML system thus determines guidance information in a way that avoidsthe computational expense of prior systems that determined objectlocations, for example, by solving minimization problems.

In some embodiments, the SGML system trains a TOA/location machinelearning system to determine object locations given a look and employsthe trained TOA/location machine learning system to determine objectlocations. The trained TOA/location machine learning system may bedeployed on a platform (e.g., UAV) with a sensor array of transmittersand receivers to determine object locations for use in guiding theplatform. To train the TOA/location machine learning system, the SGMLsystem generates training data that includes looks with each look beinglabeled with a collection of object locations. A collection of objectlocations may include one or more object locations. A look representsthe expected TOAs of return signals given a collection of objectlocations of the label of the look. After the training data isgenerated, the SGML system performs the training of the TOA/locationmachine learning system using the training data. The trainedTOA/location machine learning system can then be deployed (e.g., on aplatform or remotely from a platform) to input observed looks and outputan observed collection of object locations for each look. The observedcollections of object locations can then be provided to a guidancesystem to generate guidance instructions to guide the platform to avoidobjects and/or to travel to an object.

In some embodiments, the SGML system may employ a machine learningsystem to determine a guidance instruction based on TOAs. The SGMLsystem trains a TOA/instruction machine learning system to generateguidance instructions given a look and employs the TOA/instructionmachine learning system to guide movement of a platform. To train theTOA/instruction machine learning system, the SGML system generatestraining data the includes looks with each look being labeled with aguidance instruction. After the training data is generated, the SGMLsystem performs the training of the TOA/guidance machine learning systemusing the training data. The trained TOA/guidance machine learningsystem can then be deployed (e.g., on a platform or remotely from aplatform) to input observed looks and output a guidance instruction foreach look. A guidance system on-board a platform can use the guidanceinstruction to guide movement of the platform. Like the TOA/locationmachine learning system, the TOA/guidance machine learning system can betrained off-line and the trained TOA/guidance machine learning systemcan be deployed to a platform to generate guidance instructions inreal-time.

In some embodiments, the SGML system may employ a machine learningsystem to determine a guidance instruction based on a collection ofobject locations. The SGML system trains a location/instruction machinelearning system to generate guidance instructions given a collection ofobject locations (e.g., determined by a TOA/location machine learningsystem) and employs the location/instruction machine learning system toguide movement of a platform. To train the TOA/instruction machinelearning system, the SGML system generates training data that includescollections of object locations with each collection being labeled witha guidance instruction. After the training data is generated, the SGMLsystem performs the training of the location/guidance machine learningsystem using the training data. The trained location/guidance machinelearning system can then be deployed (e.g., on a platform or remotelyfrom a platform) to input observed collections of object locations andoutput a guidance instruction for each collection. A guidance systemon-board a platform can use the guidance instruction to guide movementof the platform. Like the TOA/location machine learning system, thelocation/guidance machine learning system can be trained off-line andthe trained location/guidance machine learning system can be deployed toa platform to generate guidance instructions in real-time.

In some embodiments, the SGML system may employ various techniques togenerate the training data and various machine learning techniques totrain a machine learning system. For example, to generate training data,the SGML system may generate collections of object locations andcalculate, for each transmitter and receiver pair a TOA based ondistances between the transmitter and an object and the receiver and theobject and the speed of the transmitted signal (e.g., speed of light orsound). The SGML system may employ a simulator to simulate the TOAsfactoring the transmission medium, object shape, object reflectivity,object size, and so on. Alternatively, or additionally, the SGML systemmay calculate TOAs based on transmitted and return signals generatedduring actual movement of a platform and objects. For example, theplatform and objects may move within a training pen. At each interval,the TOAs may be calculated by a computing system on board the platformor by a remote computing system based on return signal informationprovided by the platform. In addition, the SGML may employ an on-boardor remote sensor to determine the actual object locations at eachinterval. These sensors may be a LIDAR system, a multicamera system,acoustic system, and so on. The machine learning techniques may includesupervised and unsupervised learning techniques. The supervised learningtechnique may include a neural network, random forest, decision trees,support vector machines, and so on. The unsupervised learning techniquesmay include reinforcement learning.

In some embodiments, the SGML system may train a machine learning systembased on series of looks of sequential intervals with each series havinga label. For example, the SGML system may generate training data thatincludes guidance information as a label for each sequential pair oflooks or collections of object locations. Once trained, the SGML systemmay be used to input a sequential pair of looks to generate guidanceinformation. When training is based on series of looks, the SGML systemmay be considered to factor in object direction, velocity, andacceleration when determining guidance.

In some embodiments, the SGML system may be part of an object sense andavoid (“OSA”) system on board a platform. The OSA system employ themachine learning system to determine guidance information that isprovided to a flight controller system. The OSA system repeatedly usesthe sensor array to collect sensor data of any objects in an objectfield (i.e., field of perception) around the platform. For example, thesensor array may transmit radar signals and receive the return signalsthat are reflected by the objects. Given guidance information, theflight controller controls the platform to move based on the guidanceinformation.

The SGML system may support the guidance of a variety of autonomousvehicles (“AVs”) that are autonomously driven. The AVs may include UAVs,unmanned ground vehicles (“UGVs”), unmanned underwater vehicles(“UUVs”), and unmanned space vehicles (“USVs”). These vehicles are“unmanned” in the sense that a person does not control the guidance ofthe vehicle. For UUVs, the sensor array may be sonar-based. For USVs,the SGML system may be particularly useful in helping a satellite avoidcollisions with space debris or other satellites. The sensor array forUSVs may employ a larger field of perception that for a UAV to encompassa wider approach of objects. In addition, the SGML system may be usedwith a guidance system that factors in both the guidance informationprovided by the SGML system and estimated locations of known spaceobjects determined from orbital parameters (e.g., Keplerian elements) ofthe space objects to help in determining whether return signalscorrespond to an object. Also, although the SGML system is describedprimarily based on a field of perception that is in front of theplatform, the field of perception may surround the platform. In such acase, the platform may include multiple sensor arrays to sense theentire area around the platform. Such a surrounding field of perceptionmay be useful, for example, to sense and avoid objects (e.g., spacedebris) that are traveling toward the platform from the rear.

In some embodiments, the SGML system may be employed in conjunction withan auxiliary object sense and avoidance system such as that described inPCT Publication No. WO 2018/190834 A1, entitled “Attract-Repel PathPlanner System for Collision Avoidance,” filed on Apr. 12, 2017, whichis hereby incorporated by reference. When objects are nearby a platform,such an auxiliary system may generate more precise guidance informationbased on a more accurate determination of object locations. When used inconjunction with such an auxiliary system, the SGML system may beemployed while all objects are far, and the auxiliary system may be thenemployed while an object is not far.

The SGML system may provide guidance information so that a UAV takesevasive maneuvers to avoid an imminent collision with an object. Forexample, a predator UAV may be attempting to intercept a prey UAV beforeit reaches its target by colliding with the prey UAV. In such a case,the SGML system of the prey UAV may receive new guidance informationresulting in a change in travel direction that is more than 90° awayfrom the target direction because the predator UAV moved from left ofthe prey UAV to immediately in front of the prey UAV. If the prey UAVwas traveling in the target direction, the sudden and significant changein the travel direction by the prey UAV is effectively an evasivemaneuver to avoid colliding with the predator UAV. The new guidanceinformation may result in the prey UAV rapidly ascending or descendingor even reversing direction. If the prey UAV has a surrounding field ofperception, then the SGML system can provide guidance information toeffect evasive maneuvers even if the predator UAV approaches from therear.

The SGML system may also be used to control movement in robotic systemssuch as fixed-base robotic systems and free-moving robotic systems. Afixed-base system, such as those used on production lines, typicallyincludes a robot manipulator, an end effector (e.g., tool or gripper),and a safety interlock system. The fixed-base robotic system may betaught its motion using a teach pendant, which is typically a handheldunit used to program the trajectory of the robot. The safety interlocksystem may include force sensors to detect a collision or a lightcurtain sensor to disable the robot manipulator when a person (i.e.,unsuspected object) is near the workspace of the fixed-base roboticsystem. The SGML system allows a fixed-base robotic system to detectintrusions and alter the trajectory of the robot manipulator. As aresult, worker safety can be improved, and throughput of acapital-intensive production line can be maintained by avoiding costlyshutdowns. In addition, use of the SGML system can eliminate the need toteach with a teach pendant and the need for force sensors or a lightcurtain sensor. The SGML system can be used to provide guidanceinformation for picking up and placing parts for a production line. TheSGML system can be used to direct the end effector to a target locationof a part within the cell of the fixed-base system for pickup whileavoiding neighboring cells, for example, by controlling the roll, pitch,and yaw of the robot manipulator. The SGML system can then be used todirect the end effector to a target that is the desired location of apart on a production line. The output of the SGML system can be used togenerate and issue commands to the robot manipulator to slow down,change orientation, or signal readiness to dock, interlock, mate,operate a tool, and so on. A sensor array may be located on the robotmanipulator near the end effector or at a fixed location.

Free-moving robotic systems include servant robots and companion robots.The SGML system can be used to generate guidance information when arobot is moving parts or supplies within a hospital, production line,shipping facility, and so on. The payload of the free-moving roboticsystem may be a tool, part, supply, sensing system, interactivecommunicator (for a companion robot), and so on. The guidanceinformation allows the robot to move while avoiding stationary andmoving objects. A sensor array may be located on the front of afree-moving robotic system.

In some embodiments, the SGML system may be employed to design anarchitecture of a sensor array that satisfies accuracy, powerconsumption, weight, and so on tradeoffs. Although a sensor array withmore transmitters and receivers will in general result in more accuracy,a sensor array with a large number of transmitters and receivers may betoo heavy or power-hungry for a platform. To evaluate architectures fora sensor array, the SGML system may be adapted to process TOAs resultingfrom actual object locations for that architecture. The SGML system maythen be used to determine a collection of object locations. An accuracymetric may be calculated that indicates the similarity between theactual object locations and the collections of object locations. Theaccuracy metrics, power consumption, and weights of the architecturescan be evaluated to identify an appropriate architecture. Thearchitectures may include different numbers and types, locations,location curvatures, different beam patterns (e.g., main and side lobepatterns), and so on of transmitters and/or receivers. As an example,when a phased-array radar sensor is employed that includes a fixednumber of transmitters and receivers, the SGML system may be employed toevaluate enabling of different numbers and/or positions of transmittersand receivers based on a power consumption and accuracy tradeoff.

FIG. 1 is a block diagram that illustrates various architectures of SGMLsystem in some embodiments. Architecture 110 illustrates the overallarchitecture of the machine learning systems. The machine learningarchitectures input TOA information, such as TOAs or a collection ofobject locations associated with the look, and output guidanceinformation, such as a collection of object locations or guidanceinstructions. Architecture 120 includes TOA/location machine learningsystem 121 and a non-machine learning system 122. The TOA/locationmachine learning system inputs the TOAs of the look and outputs acollection of object locations. The non-machine learning system inputs acollection of object locations and outputs a guidance instruction. Thenon-machine learning system may be a conventional system used in flightcontrol to determine guidance instructions based on object locations.Architecture 130 includes a TOA/location machine learning system 131 andlocation/instruction machine learning system 132. The TOA/locationmachine learning system 131 operates in the same manner as TOA/locationmachine learning system 121. The location/instruction machine learningsystem inputs a collection of locations and outputs a guidanceinstruction. The location/instruction machine learning system may beemployed independently of a machine learning system that outputscollections of object locations such as a conventional flight systemthat inputs signals and outputs object locations. Architecture 140includes a TOA/instruction machine learning system. The TOA/instructionmachine learning system inputs TOAs and outputs a guidance instruction.

The computing devices and systems on which the SGML system may beimplemented may include a central processing unit, input devices, outputdevices (e.g., display devices and speakers), storage devices (e.g.,memory and disk drives), network interfaces, graphical processing units,tensor processing units, field programmable gate arrays (FPGAs),accelerometers, cellular radio link interfaces, global positioningsystem devices, and so on. The input devices may include sensors,keyboards, pointing devices, touch screens, gesture recognition devices(e.g., for air gestures), head and eye tracking devices, microphones forvoice recognition, and so on. The computing devices may include desktopcomputers, laptops, tablets, e-readers, personal digital assistants,smartphones, gaming devices, servers, and computer systems, such asmassively parallel systems. The computing devices may accesscomputer-readable media that include computer-readable storage media anddata transmission media. The computer-readable storage media aretangible storage means that do not include a transitory, propagatingsignal. Examples of computer-readable storage media include memory suchas primary memory, cache memory, and secondary memory (e.g., DVD) andinclude other storage means. The computer-readable storage media mayhave recorded upon or may be encoded with computer-executableinstructions or logic that implements the SGML system. The datatransmission media is used for transmitting data via transitory,propagating signals or carrier waves (e.g., electromagnetism) via awired or wireless connection.

The SGML system may be described in the general context ofcomputer-executable instructions, such as program modules andcomponents, executed by one or more computers, processors, or otherdevices. Generally, program modules or components include routines,programs, objects, data structures, and so on that perform particulartasks or implement particular data types. Typically, the functionalityof the program modules may be combined or distributed as desired invarious embodiments. Aspects of the system may be implemented inhardware using, for example, an application-specific integrated circuit(“ASIC”).

FIG. 2 is a flow diagram that illustrates the processing of a trainTOA/location ML component of the SGML system in some embodiments. Atrain TOA/location ML component 200 trains a machine learning algorithmusing training data that includes TOAs of looks and correspondingcollections of objects as training data. The training data may begenerated based on the simulation of the TOAs given object locations orgiven actual TOAs and object locations of actual objects collected as aplatform moves relative to the actual objects. In block 201, thecomponent selects the next collection of object locations. In decisionblock 202, if all the collections have already been selected, then thecomponent continues at block 207, else the component continues at block203. In block 203, the component selects the next pair of transmittersand receivers of the architecture. In decision block 204, if all thepairs of transmitters and receivers for the architecture have alreadybeen selected, then the component continues at block 206, else thecomponent continues at block 205. In block 205, the component calculatesthe TOAs for the receiver of the selected pair based on return signalsfrom each object location and then loops to block 203 to select the nextpair of transmitters and receivers. In block 206, the component adds theTOAs and a collection of objects locations to the training data andloops to block 201 to select the next collection of object locations. Inblock 207, the component trains the machine learning algorithm using thetraining data and completes. The SGML system may train a TOA/instructionML system in a similar manner except that in block 206, TOAs andinstructions are the training data. The SGML system trains alocation/instruction machine learning system using training data thatincludes collections of object locations and corresponding guidanceinstructions. The object locations may be simulated object locations oractual object locations.

FIG. 3 is a block diagram that illustrates the components of thereinforcement learning component of the SGML system in some embodiments.The reinforcement learning component 300 includes an agent system 310and an environment system 320. The agent system includes a train MLcomponent 311, a weights store 312, and a TOAs/predicted object locationstore 313. The environment system includes a retrieve TOAs component321, a calculate reward component 322, and TOAs/actual object locationstore 323, and reward store 324. The agent system inputs TOAs of looksand rewards provided by the environment system. The train ML componentof the agent system then adjusts weights (stored in the weights store)associated with the machine learning algorithm based on the rewards andTOAs and predicted object locations. The agent system then applies theweights to the TOAs to generate predicted object locations, stores theTOAs and predicted object locations, and provides the predicted objectlocations to the environment system. Upon receiving predicted objectlocations, the retrieve TOAs component retrieves from the TOA/actualobject location store the TOAs of a look and provides those TOAs ascurrent TOAs to the agent. The calculate reward system inputs thepredicted object locations and calculates a reward based on similaritybetween the predicted object locations and the actual object locationscorresponding to the prior TOAs provided to the agent component. Therewards component may store information relating to the rewards for usein calculating subsequent rewards.

FIG. 4 is a flow diagram that illustrates the processing of a retrieveTOAs component of the environment system in some embodiments. Theretrieve TOAs component 400 loops sending TOAs to the agent system andreceiving predicted object locations from the agent system. In block401, the component initializes an interval count. In block 402, thecomponent selects TOAs for the interval. In block 403, the componentsends the selected TOAs to the agent system. In block 404, the componentwaits to receive the predicted object locations for the current intervaland provides the predicted object locations to the calculate rewardscomponent. In block 405, the component invokes the rewards componentpassing an indication of the predicted object locations for the currentinterval and an indication of the interval. In block 406, the componentincrements the interval and loops to block 402 to selected TOAs for thenow current interval.

FIG. 5 is a flow diagram that illustrates the processing of a calculaterewards component of the environment system in some embodiments. Thecalculate rewards component 500 is passed the predicted object locationsfor the current interval and an indication of the current interval andcalculates a reward. In block 501, the component stores the predictedobject location. In block 502, the component calculates a reward basedon the predicted object locations and the actual object locations forthe current time interval and, in some embodiments, earlier timeintervals. In decision block 503, if the machine learning algorithm istrained, then the component completes the processing of thereinforcement learning system. In block 504, the component sends thereward for the next interval to the agent system and then completes.

FIG. 6 illustrates the processing of a train ML component of the agentsystem in some embodiments. The train ML component 600 receives TOAs,adjusts weights, and generates predicted object locations. In block 601,the component initializes the interval. In block 602, the componentreceives TOAs and a reward for the current interval. In blocks 603, thecomponent stores the TOAs and the reward. In block 604, the componentadjusts the machine learning weights based on the reward. In block 605,the component applies the machine learning algorithm to the TOAs togenerate predicted object locations. In block 606, the component sendsthe predicted object locations to the environment system. In block 607,the component increments the interval, loops to block 602, and waits toreceive the TOAs and reward for the interval.

The following paragraphs describe various embodiments of aspects of theSGML system. An implementation of the SGML system may employ anycombination of the embodiments. The processing described below may beperformed by a computing device with a processor that executescomputer-executable instructions stored on a computer-readable storagemedium that implements the SGML system.

In some embodiments, a method performed by one or more computing systemsfor generating a machine learning system to generate guidanceinformation based on locations of objects is provided. The methodaccesses training data that includes for a plurality of looks, trainingTOA information of the look and guidance information for the look. Theguidance information is based on a training collection of objectlocations. The TOAs of a look represent, for each object location of atraining collection of object locations, times between signalstransmitted by transmitters and return signals received by receivers.The return signals represent signals reflected from an object at theobject location. The method trains a machine learning system using thetraining data. The machine learning system inputs TOA information andoutputs guidance information. In some embodiments, the training TOAinformation represents the TOAs of a look and the guidance informationis a collection of object locations for each look. In some embodiments,the training TOA information represents a training collection of objectlocations corresponding to TOAs of a look and the guidance informationis a guidance instruction. In some embodiments, the training TOAinformation represents TOAs of a look and the guidance information is aguidance instruction. In some embodiments, the object locations in atraining collection of object locations represent locations relative toan array of transmitters and receivers. In some embodiments, a guidancesystem of a platform with transmitters and receivers employs the machinelearning system to input TOA information as the platform travels andoutput guidance information. In some embodiments, the guidance systemdetermines a guidance instruction for the platform based on the TOAinformation. In some embodiments, the platform is a component of a robotcontrol system. In some embodiments, the platform is a satellite and theobject locations are locations of objects in space. In some embodiments,the platform is an unmanned vehicle. In some embodiments, the trainingTOA information is calculated during movement of a platform withtransmitters and receivers through a volume of objects and objectlocations of the training collections are identified by an actual objectlocation sensor. In some embodiments, the actual object location sensoris mounted on the platform. In some embodiments, the actual objectlocation sensor is external to the platform. In some embodiments, themethod generates TOA information by simulating time-of-arrivals fortraining collections of object locations. In some embodiments, themachine learning system is based on reinforcement learning. In someembodiments, the machine learning system is based on supervisedlearning.

In some embodiments, a method performed by one or more computing systemsto guide movement of a platform. The method, for each of a plurality ofintervals, receives TOA information derived from TOAs determined basedon times between signals transmitted by transmitters and return signalsreceived by receivers. A return signal is reflected from an observedobject at an object location. The method determines guidance informationby applying a machine learning system that inputs TOA information andoutputs guidance information. The machine learning system having beentrained using training data that includes TOA information and guidanceinformation. In some embodiments, the TOA information is the TOAs of alook and the guidance information is a collection of object locationsfor each look. In some embodiments, the TOA information is a collectionof object locations corresponding to TOAs of a look and the guidanceinformation is a guidance instruction. In some embodiments, the TOAinformation is TOAs of a look and the guidance information is a guidanceinstruction. In some embodiments, the machine learning system includes afirst machine learning system that inputs TOAs of a look and outputs acollection of object locations and a second machine learning system thatinputs a collection of object locations and output a guidanceinstruction. In some embodiments, the platform is a component of a robotcontrol system. In some embodiments, the platform is a satellite and theobject locations are locations of objects in space. In some embodiments,the platform is an unmanned vehicle. In some embodiments, the methodguides the platform based on the guidance instructions.

In some embodiments, a method performed by one or more computing systemfor evaluating an architecture of a sensor array for a platform isprovided. The method accesses a plurality of architectures of sensorarrays. An architecture specifies number and positions of transmittersand receivers of the sensor array. For each of a plurality ofarchitectures, the method generates an architecture metric. To generatean architecture metric, the method, for each of a plurality of TOAs oflooks and an evaluation collection of object locations, applies amachine learning system that inputs the TOAs of the look and generatesan estimated collection of object locations and generates a metric basedon similarity of object locations of the evaluation collection and theestimated collection, where the machine learning system has been trainedusing training data that includes TOAs of looks and for each look anevaluation collection of object locations. The method then generates anarchitecture metric based on the metrics generated for the architecture.In some embodiments, the architecture further specifies curvature of asensor array. In some embodiments, the architecture metric is furtherbased on size or weight of a sensor array. In some embodiments, thesensor array is a phased sensor array. In some embodiments, anarchitecture further specifies a beam pattern of a transmitter.

In some embodiments, one or more computing systems to guide movement ofa platform are provided. The one or more computing systems include oneor more computer-readable storage mediums for storingcomputer-executable instructions for controlling the one or morecomputing systems and one or more processors for executing thecomputer-executable instructions stored in the one or morecomputer-readable storage mediums. The instructions, for each of aplurality of intervals, receive TOA information derived from TOAsdetermined based on times between signals transmitted by transmittersand return signals received by receivers and generate guidanceinformation by applying a machine learning system that inputs TOAinformation and outputs guidance information. The machine learningsystem is trained using training data that includes TOA information andguidance information. In some embodiments, the TOA information is theTOAs of a look and the guidance information is a collection of objectlocations for each look. In some embodiments, the TOA information is acollection of object locations corresponding to TOAs of a look and theguidance information is a guidance instruction. In some embodiments, theTOA information is TOAs of a look and the guidance information is aguidance instruction. In some embodiments, the machine learning systemincludes a first machine learning system that inputs TOAs of a look andoutputs a collection of object locations and a second machine learningsystem that inputs a collection of object locations and output aguidance instruction. In some embodiments, the platform is a componentof a robot control system. In some embodiments, the platform is asatellite and the object locations are locations of objects in space. Insome embodiments, the platform is an unmanned vehicle. In someembodiments, the instructions further guide the platform based on theguidance information.

In some embodiments, one or more computing systems for evaluating anarchitecture of a sensor array for a platform are provided. The one ormore computing systems include one or more computer-readable storagemediums for storing computer-executable instructions for controlling theone or more computing systems and one or more processors for executingthe computer-executable instructions stored in the one or morecomputer-readable storage mediums. The instructions access anarchitecture that specifies number and positions of transmitters andreceivers of the sensor array. For each of a plurality of TOAs of looksand an evaluation collection of object locations, the instructions applya machine learning system that inputs the TOAs of the look and generatesan estimated collection of object locations. The instructions alsogenerate a metric based on similarity of object locations of theevaluation collection and the estimated collection. The instructionsthen generate an architecture metric based on the metrics generated forthe architecture. In some embodiments, the machine learning system istrained using training data that includes TOAs of looks and for eachlook an evaluation collection of object locations. In some embodiments,the architecture further specifies curvature of a sensor array or a beampattern of a transmitter. In some embodiments, the architecture metricis further based on size or weight of a sensor array. In someembodiments, the sensor array is a phased sensor array.

In some embodiments, one or more computing systems for generating amachine learning system to generate guidance information based onlocations of objects are provided. The one or more computing systemsinclude one or more computer-readable storage mediums for storingcomputer-executable instructions for controlling the one or morecomputing systems and one or more processors for executing thecomputer-executable instructions stored in the one or morecomputer-readable storage mediums. The instructions access training datathat includes, for each of a plurality of looks, training TOAinformation of the look and guidance information for the look. Theinstructions train a machine learning system using the training datawherein the machine learning system inputs TOA information and outputsguidance information. In some embodiments, the guidance information isbased on a training collection of object locations. The TOAs of a lookrepresent, for each object location of a training collection of objectlocations, times between signals transmitted by transmitters and returnsignals received by receivers. The return signals represent signalsreflected from an object at the object location. In some embodiments,the training TOA information is generated during movement of a platformwith transmitters and receivers through a volume of objects and objectlocations of the training collections are identified by an actual objectlocation sensor. In some embodiments, the TOA information represents theTOAs of a look and the guidance information is a collection of objectlocations for each look. In some embodiments, the training TOAinformation represents a training collection of object locationscorresponding to TOAs of a look and the guidance information is aguidance instruction. In some embodiments, the training TOA informationrepresents TOAs of a look and the guidance information is a guidanceinstruction. In some embodiments,

The following paragraphs describe various embodiments of aspects of theSGML system. An implementation of the SGML system may employ anycombination of the embodiments. The processing of the methods describedbelow may be performed by a computing device with a processor thatexecutes computer-executable instructions stored on a computer-readablestorage medium that implements the SGML system.

1. A method performed by one or more computing systems to guide movement of a platform, the method comprising, for each of a plurality of intervals, receiving time-of-arrival (“TOA”) information derived from TOAs determined based on times between signals transmitted by transmitters and return signals received by receivers wherein a return signal is reflected from an observed object at an object location; and determining guidance information by applying a machine learning system that inputs TOA information and outputs guidance information, the machine learning system being trained using training data that includes TOA information and guidance information.
 2. The method of claim 1 wherein the TOA information is the TOAs of a look and the guidance information is a collection of object locations for each look.
 3. The method of claim 1 wherein the TOA information is a collection of object locations corresponding to TOAs of a look and the guidance information is a guidance instruction.
 4. The method of claim 1 wherein the TOA information is TOAs of a look and the guidance information is a guidance instruction.
 5. The method of claim 1 wherein the machine learning system includes a first machine learning system that inputs TOAs of a look and outputs a collection of object locations and a second machine learning system that inputs a collection of object locations and output a guidance instruction.
 6. The method of claim 1 wherein the platform is a component of a robot control system.
 7. The method of claim 1 wherein the platform is a satellite and the object locations are locations of objects in space.
 8. The method of claim 1 wherein the platform is an unmanned vehicle.
 9. The method of claim 1 further comprising guiding the platform based on the guidance information.
 10. A method performed by one or more computing systems for evaluating an architecture of a sensor array for a platform, the method comprising: accessing a plurality of architectures of sensor arrays, an architecture specifying number and positions of transmitters and receivers of the sensor array; and for each of plurality of architectures, for each of a plurality of time-of-arrivals (“TOAs”) of looks and an evaluation collection of object locations, applying a machine learning system that inputs the TOAs of the look and generates an estimated collection of object locations, the machine learning system trained using training data that includes TOAs of looks and for each look an evaluation collection of object locations; and generating a metric based on similarity of object locations of the evaluation collection and the estimated collection; and generating an architecture metric based on the metrics generated for the architecture.
 11. The method of claim 10 wherein the architecture further specifies curvature of a sensor array.
 12. The method of claim 10 wherein the architecture metric is further based on size or weight of a sensor array.
 13. The method of claim 10 wherein the sensor array is a phased sensor array.
 14. The method of claim 10 wherein an architecture further specifies a beam pattern of a transmitter.
 15. One or more computing systems to guide movement of a platform, the one or more computing systems comprising: one or more computer-readable storage mediums for storing computer-executable instructions for controlling the one or more computing systems to, for each of a plurality of intervals: receive time-of-arrival (“TOA”) information derived from TOAs determined based on times between signals transmitted by transmitters and return signals received by receivers; and generate guidance information by applying a machine learning system that inputs TOA information and outputs guidance information, the machine learning system being trained using training data that includes TOA information and guidance information; and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.
 16. The one or more computing systems of claim 15 wherein the TOA information is the TOAs of a look and the guidance information is a collection of object locations for each look.
 17. The one or more computing systems of claim 15 wherein the TOA information is a collection of object locations corresponding to TOAs of a look and the guidance information is a guidance instruction.
 18. The one or more computing systems of claim 15 wherein the TOA information is TOAs of a look and the guidance information is a guidance instruction.
 19. The one or more computing systems of claim 15 wherein the machine learning system includes a first machine learning system that inputs TOAs of a look and outputs a collection of object locations and a second machine learning system that inputs a collection of object locations and output a guidance instruction.
 20. The one or more computing systems of claim 15 wherein the platform is a component of a robot control system.
 21. The one or more computing systems of claim 15 wherein the platform is a satellite and the object locations are locations of objects in space.
 22. The one or more computing systems of claim 15 wherein the platform is an unmanned vehicle.
 23. The one or more computing systems of claim 15 wherein the instructions further guide the platform based on the guidance information.
 24. One or more computing systems for evaluating an architecture of a sensor array for a platform, the one or more computing system comprising: one or more computer-readable storage mediums for storing computer-executable instructions for controlling the one or more computing systems to: access an architecture that specifies number and positions of transmitters and receivers of the sensor array; and for each of a plurality of time-of-arrivals (“TOAs”) of looks and an evaluation collection of object locations, apply a machine learning system that inputs the TOAs of the look and generates an estimated collection of object locations; and generate a metric based on similarity of object locations of the evaluation collection and the estimated collection; and generate an architecture metric based on the metrics generated for the architecture; and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.
 25. The one or more computing systems of claim 24 wherein the machine learning system is trained using training data that includes TOAs of looks and for each look an evaluation collection of object locations.
 26. The one or more computing systems of claim 24 wherein the architecture further specifies curvature of a sensor array or a beam pattern of a transmitter.
 27. The one or more computing systems of claim 24 wherein the architecture metric is further based on size or weight of a sensor array.
 28. The one or more computing systems of claim 24 wherein the sensor array is a phased sensor array.
 29. One or more computing systems for generating a machine learning system to generate guidance information based on locations of objects, the one or more computing systems comprising: one or more computer-readable storage mediums for storing computer-executable instructions for controlling the one or more computing systems to: access training data that includes, for each of a plurality of looks, training time-of-arrival (“TOA”) information of the look and guidance information for the look; and train a machine learning system using the training data wherein the machine learning system inputs TOA information and outputs guidance information; and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.
 30. The one or more computing systems of claim 29 wherein the guidance information is based on a training collection of object locations and wherein the TOAs of a look represent, for each object location of a training collection of object locations, times between signals transmitted by transmitters and return signals received by receivers wherein the return signals represent signals reflected from an object at the object location.
 31. The one or more computing systems of claim 30 wherein the training TOA information is generated during movement of a platform with transmitters and receivers through a volume of objects and object locations of the training collections are identified by an actual object location sensor.
 32. The one or more computing systems of claim 29 wherein the TOA information represents the TOAs of a look and the guidance information is a collection of object locations for each look.
 33. The one or more computing systems of claim 29 wherein the training TOA information represents a training collection of object locations corresponding to TOAs of a look and the guidance information is a guidance instruction.
 34. The one or more computing systems of claim 29 wherein the training TOA information represents TOAs of a look and the guidance information is a guidance instruction. 